package cn.tedu._04mybatis.mapper;

import cn.tedu._04mybatis.pojo.entity.Weibo;
import cn.tedu._04mybatis.pojo.vo.WeiboCommentVo;
import cn.tedu._04mybatis.pojo.vo.WeiboDetailVo;
import cn.tedu._04mybatis.pojo.vo.WeiboIndexVo;
import cn.tedu._04mybatis.pojo.vo.WeiboVo1;
import org.apache.ibatis.annotations.*;
import org.springframework.context.annotation.Scope;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface WeiboMapper {
    /**
     *
     * 功能:发布微博,在微博中插入1条数据
     */
//    @Insert("INSERT INTO weibo(content,created,user_id) VALUES (#{content},#{created},#{userId})")
    int insertWeibo(Weibo weibo);

//    @Delete("DELETE FROM weibo WHERE id=#{id}")
    int deleteById(int id);

    /**
     * 修改微博:根据微博id
     * UPDATE weibo SET ..... WHERE id =微博id
     */
//    @Update("UPDATE weibo SET content=#{content},created=#{created},user_id=#{userId} WHERE id=#{id}")
    int updateWeiboById(Weibo weibo);

//    @Select("SELECT id,content,created,user_id userId FROM weibo WHERE id=#{id}")
    Weibo selectById(int id);

//    @Select("SELECT id,content,created,user_id FROM weibo WHERE user_id=#{uid}")
    List<Weibo> selectByUid(int uid);

//    @Select("SELECT content,created FROM weibo WHERE id=#{Wid}")
    WeiboVo1 selectByWid(int Wid);

    /**
     * 动态修改
     * 根据微博的id,修改微博的相关信息
     */
    int dynamicUpdate(Weibo weibo);

    /**
     * 动态删除 数组格式
     * 根据微博ID删除对应的微博记录
     */

    int dynamicDelete1(Integer[] id);

    /**
     * 动态删除2:List集合方式
     * 根据微博ID删除对应的微博记录
     */

    int dynamicDelete2(List<Integer> ids);

    int selectCount();


    List<WeiboIndexVo> selectIndex();

    WeiboDetailVo selectDetailVo(int wid);

    List<WeiboCommentVo> selectComment(int cid);
}
